home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Tools 2
/
Amiga Tools 2.iso
/
tex
/
mf
/
inputs
/
dc
/
dxileast.mf
< prev
next >
Wrap
Text File
|
1995-03-15
|
29KB
|
732 lines
% This is DXILEAST.MF in text format, as of March 24, 1992
%
% DC fonts Version 1.1 (prerelease of EC fonts)
%
% [ heavily borrowed from the Computer Modern Roman family of
% fonts by D. E. Knuth ]
%
% Content:
%
% accented lowercase italic letters ("eastern part")
%
% oct"236", oct"240" .. oct"274"
%
dcchar "Italic letter bar d";
beginchar(oct"236",9u#,asc_height#,0);
italcorr max(1/3x_height#*slant+.5hair#+.5u#,
h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi;
adjust_fit(0,0); pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
x4+.5stem=hround(w-2.5u+.5stem);
top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
& pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
x5=x0; x7=w; hook_out(5,6,7); % closing hook
pickup tiny.nib; pos5'(stem,0); pos4(stem,0);
z5'=z5; top y4=h; filldraw stroke z4e--z5'e; % stem
sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% the bar
pos8(bar,90); pos9(bar,90);
x8=x1; % .5[x1,x4];
x9=x6;
y8=y9=.5[y.a2-.5slab,y1+.5vair];
filldraw stroke z8e--z9e;
penlabels(0,1,2,3,4,5,6,7,8); endchar;
dcchar "Italic letter breve a";
beginchar(oct"240",9u#,x_height#+acc_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
pos4(stem,0); x4=x0; y4+.5stem=vround .98x_height;
x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
rt x4r=hround(w-2.5u+.5stem);
top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
& pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
x5=x4; x7=w; hook_out(5,6,7); % closing hook
filldraw circ_stroke z4e--z5e; % stem
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% the accent
lowercase_breve(.5w,0,8,9,10);
penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
dcchar "Italic letter ogonek a";
beginchar(oct"241",9u#,x_height#,desc_depth#);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
pos4(stem,0); x4=x0; y4+.5stem=vround .98x_height;
x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
rt x4r=hround(w-2.5u+.5stem);
top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
& pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
x5=x4; x7=w; hook_out(5,6,7); % closing hook
filldraw circ_stroke z4e--z5e; % stem
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% the accent
lowercase_ogonek(x6r,0,8,9,10);
penlabels(0,1,2,3,4,5,6,7,8,9,10); endchar;
dcchar "Italic letter acute c";
beginchar(oct"242",8u#,x_height#+acc_height#,0);
italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
adjust_fit(0,0); pickup fine.nib;
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps;
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y1=.5[bar_height,x_height]; top y2r=x_height+oo; bulb(2,1,0); % bulb
bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
path p; p=z4{right}..z5..z6;
filldraw stroke pulled_arc.e(2,3)
& pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% the accent
lowercase_acute(0,0,7,8);
penlabels(0,1,2,3,4,5,6,7,8); endchar;
dcchar "Italic letter hachek (check) c";
beginchar(oct"243",8u#,x_height#+acc_height#,0);
italcorr if math_fitting:1/3x_height#*slant else:x_height#*slant-u# fi;
adjust_fit(0,0); pickup fine.nib;
pos0(flare,0); pos1(hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x2=x4=.5(w+u); rt x1r=max(rt x2,hround(w-u))+eps;
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y1=.5[bar_height,x_height]; top y2r=x_height+oo; bulb(2,1,0); % bulb
bot y4r=-oo; y3=.5[y2,y4]; top y5l=vround .5bar_height; y6=bar_height;
path p; p=z4{right}..z5..z6;
filldraw stroke pulled_arc.e(2,3)
& pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% the accent
lowercase_hachek(x2,0,7,8,9,10,11);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
dcchar "Italic letter d";
beginchar(oct"244",9u#,asc_height#,0);
italcorr max(1/3x_height#*slant+.5hair#+.5u#,
h#*slant+.5stem#-2u#) if math_fitting:-.5u# fi;
adjust_fit(0,0); pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
x4+.5stem=hround(w-2.5u+.5stem);
top y1r=x_height+oo; bot y3r=-oo; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
& pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
x5=x0; x7=w; hook_out(5,6,7); % closing hook
pickup tiny.nib; pos5'(stem,0); pos4(stem,0);
z5'=z5; top y4=h; filldraw stroke z4e--z5'e; % stem
sloped_serif.l(4,5',a,1/3,jut,serif_drop); % serif
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
% the accent
komma_one := 8;
x[komma_one]=hround(w+0.5dot_size-0.25u);
y[komma_one]+.5dot_size=h;
comma([komma_one],ee,dot_size,.25u,0.8comma_depth); % comma with increased jut
penlabels(0,1,2,3,4,5,6,7,8); endchar;
dcchar "Italic letter hachek (check) e";
beginchar(oct"245",8u#,x_height#+acc_height#,0);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(0,0); pickup fine.nib;
numeric heavy_hair; heavy_hair=hround .2[hair,stem];
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=x_height+oo; bot y4r=-oo;
top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
& pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
%the accent
lowercase_hachek(5/6[x3,x2],0,7,8,9,10,11);
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
dcchar "Italic letter ogonek e";
beginchar(oct"246",8u#,x_height#,desc_depth#);
italcorr max(1/3x_height#*slant,x_height#*slant+.5(.2[hair#,stem#])-u#);
adjust_fit(0,0); pickup fine.nib;
save pp;
path pp;
numeric heavy_hair; heavy_hair=hround .2[hair,stem];
pos0(vair,-90); pos1(heavy_hair,0); pos2(vair,90);
pos3(curve,180); pos4(vair,270); pos5(hair,320);
x0=rt x3l; rt x1r=hround(w-1.5u+.5heavy_hair); x2=x4=.5(w+u);
lft x3r=hround(1.5u-.5curve); x5r=good.x(w-eps); x6=x5;
y0=y3=y6=bar_height; y1=.5[y0,y2]; top y2r=h+oo; bot y4r=-oo;
top y5l=vround .5bar_height; path p; p=z4{right}..z5..z6;
filldraw stroke z0e{right}...z1e{up}...pulled_arc.e(2,3)
& pulled_arc.e(3,4)...{direction 1 of p}z5e; % arc
pp=z0r{right}...z1r{up}...pulled_arc.r(2,3)
& pulled_arc.r(3,4)...{direction 1 of p}z5r; % arc
%pp=z0{right}...z1{up}...z2l...z3l...z4l...{direction 1 of p}z5l; % arc
%z10=point 4.6 of pp;
z10=point 6.6 of pp;
%the accent
%lowercase_ogonek(.25[x4,x5],0,7,8,9);
lowercase_ogonek(x10,y10-.2hair,7,8,9);
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
dcchar "Italic letter g";
beginchar(oct"247",8u#,x_height#+acc_height#,desc_depth#);
italcorr x_height#*slant+.5stem#-u#;
adjust_fit(0,0); pickup fine.nib;
pos0(hair,0); pos1(vair,90); pos2(curve,180); pos3(vair,270);
x0=x4; x1=x3=.5[x0,x2]; lft x2r=hround(1.5u-.5curve);
x4+.5stem=hround(w-1.5u+.5stem);
top y1r=x_height+oo; bot y3r=0; y0=y2=.5[y1,y3];
filldraw stroke super_arc.e(0,1) & pulled_arc.e(1,2)
& pulled_arc.e(2,3) & super_arc.e(3,0); % bowl
pos4(stem,0); y4+.5stem=vround .98x_height;
pos5(stem,0); x5=x4; y5=-1/3d;
pos6(vair,-90); pos7(hair,-180); pos8(flare,-180);
bot y6r=-d-oo; y8-.5flare=vround -.9d;
lft x8r=hround(2u-.5flare); x6=x1; bulb(6,7,8); % bulb
filldraw circ_stroke z4e---z5e...{left}z6e; % stem and arc
%the accent
lowercase_breve(.5w,0,9,10,11);
math_fit(-min(.3x_height#*slant+.5curve#-u#,1.5u#-desc_depth#*slant),
ic#-1/3x_height#*slant);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
dcchar "Italic letter acute l";
beginchar(oct"250",4u#,asc_height#+acc_height#,0); l_width#:=4u#;
italcorr max(1/3x_height#*slant+.5hair#+.5u#,
asc_height#*slant+.5stem#-2u#) if math_fitting:+.5u# fi;
adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
x2-.5stem=hround(1.5u-.5stem); x4=w; hook_out(2,3,4); % closing hook
pickup tiny.nib; pos1(stem,0); pos2'(stem,0); z2'=z2;
top y1=asc_height; x1=x2; filldraw stroke z1e--z2e; % stem
sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
%the accent
uppercase_acute(0,0,5,6);
math_fit(-.5u#,1/3x_height#*slant+.5hair#+u#);
penlabels(1,2,3,4,5,6); endchar;
dcchar "Italic letter comma l";
beginchar(oct"251",4u#,asc_height#,0); l_width#:=4u#;
italcorr max(1/3x_height#*slant+.5hair#+.5u#,
asc_height#*slant+.5stem#-2u#) if math_fitting:+.5u# fi;
adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
x2-.5stem=hround(1.5u-.5stem); x4=w; hook_out(2,3,4); % closing hook
pickup tiny.nib; pos1(stem,0); pos2'(stem,0); z2'=z2;
top y1=h; x1=x2; filldraw stroke z1e--z2e; % stem
sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
%the accent
komma_one := 5;
x[komma_one]=hround(w+0.5dot_size-0.25u);
y[komma_one]+.5dot_size=h;
comma([komma_one],ee,dot_size,.25u,0.8comma_depth); % comma with increased jut
math_fit(-.5u#,1/3x_height#*slant+.5hair#+u#);
penlabels(1,2,3,4,5,6); endchar;
dcchar "Italic letter polish l";
beginchar(oct"252",4u#,asc_height#,0); l_width#:=4u#;
italcorr max(1/3x_height#*slant+.5hair#+.5u#,
asc_height#*slant+.5stem#-2u#) if math_fitting:+.5u# fi;
adjust_fit(if monospace:u#,u# else: 0,0 fi); pickup fine.nib;
x2-.5stem=hround(1.5u-.5stem); x4=w; hook_out(2,3,4); % closing hook
pickup tiny.nib; pos1(stem,0); pos2'(stem,0); z2'=z2;
top y1=h; x1=x2; filldraw stroke z1e--z2e; % stem
sloped_serif.l(1,2,a,1/3,jut,serif_drop); % serif
%the accent
cross_one :=5;
cross_two :=6;
if unknown l_width:
l_width:=5u+2serif_fit; fi % nominal width of `l'
if unknown L_stem:
L_stem:=cap_serif_fit+max(2u+.5cap_stem,3u); fi % center of `L' stem
%
pickup crisp.nib;
x[cross_two]-x[cross_one]=max(4u,2.8u+stem);
.5[x[cross_one],x[cross_two]]=x1;
y[cross_one]-.5bar=.2[bar_height,x_height];
y[cross_two]+.5bar=.8[bar_height,x_height];
numeric theta; theta=angle(z[cross_two]-z[cross_one])+90;
pos[cross_one](bar,theta); pos[cross_two](bar,theta);
filldraw stroke z[cross_one]e--z[cross_two]e; % diagonal
math_fit(-.5u#,1/3x_height#*slant+.5hair#+u#);
penlabels(1,2,3,4,5,6); endchar;
dcchar "Italic letter acute n";
beginchar(oct"253",10u#,x_height#+acc_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib;
x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
if classic_serif:
top y1=x_height; pos1(stem,0);
sloped_serif.l(1,2,a,1/3,jut,serif_drop);
else:
hook_in(0,a,1); % opening hook
fi
filldraw circ_stroke z2e--z1e; % left stem
x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch
x7=w; hook_out(5,6,7)(skewed); % closing hook
filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem
lowercase_acute(1/3(x1r-.5w),0,8,9);
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
penlabels(0,a,1,2,3,4,5,6,7,8,9); endchar;
dcchar "Italic letter hachek (check) n";
beginchar(oct"254",10u#,x_height#+acc_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib;
x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
if classic_serif:
top y1=x_height; pos1(stem,0);
sloped_serif.l(1,2,a,1/3,jut,serif_drop);
else:
hook_in(0,a,1); % opening hook
fi
filldraw circ_stroke z2e--z1e; % left stem
x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch
x7=w; hook_out(5,6,7)(skewed); % closing hook
filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem
lowercase_hachek(.5[x1r,x3r],0,8,9,10,11,12);
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
penlabels(0,a,1,2,3,4,5,6,7,8,9,10,11,12); endchar;
dcchar "Italic letter nj";
beginchar(oct"255",10u#,x_height#,desc_depth#);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib;
x0=0; x1=x2; pos2(stem,0); lft x2l=hround(2.5u-.5stem); y2-.5stem=-oo;
if classic_serif:
top y1=h; pos1(stem,0);
sloped_serif.l(1,2,a,1/3,jut,serif_drop);
else:
hook_in(0,a,1); % opening hook
fi
filldraw circ_stroke z2e--z1e; % left stem
x4+.5stem=hround(w-2.5u+.5stem); x5=x4-.25u; ital_arch(2,3,4); % arch
x7=w; empty_hook_out(5,6,7)(skewed); % closing hook
filldraw stroke z4e{down}..{-u,-x_height}z5e; % right stem
%
% j stroke
pickup tiny.nib; pos8(vair,-90); pos9(hair,-180); pos10(flare,-180);
x8=.5[x5,x9r]; bot y8r=-d-oo; y9-.5flare=-.88d;
z9r=z10r; rt x10l=hround(x4r-3u+0.5stem); % floor .75u
(x,y8r)=whatever[z8l,z5l]; x8r:=max(x,.5[x9r,x8]);
filldraw stroke z5e{down}...z8e{left}; bulb(8,9,10); % arc and bulb
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
penlabels(0,a,1,2,3,4,5,6,7,8,9,10); endchar;
dcchar "Italic letter long Hungarian umlaut o";
beginchar(oct"256",9u#,x_height#+acc_height#,0);
italcorr .7x_height#*slant+.5curve#-u# if math_fitting:-.5u# fi;
adjust_fit(0,0); pickup fine.nib;
pos1(vair,90); pos2(curve,180); pos3(vair,270); pos4(curve,360);
x1=x3=.5w; lft x2r=hround(1.5u-.5curve); x4=w-x2;
top y1r=x_height+oo; y2=y4=.5[y1,y3]; bot y3r=-oo;
filldraw stroke pulled_arc.e(1,2) & pulled_arc.e(2,3)
& pulled_arc.e(3,4) & pulled_arc.e(4,1); % bowl
%the accent
lowercase_humlaut(5,6,7,8);
math_fit(-.3x_height#*slant+.5curve#-u#,ic#);
penlabels(1,2,3,4,7,8); endchar;
dcchar "Italic letter acute r";
beginchar(oct"257",5.5u#+max(1.75u#,flare#),x_height#+acc_height#,0);
italcorr x_height#*slant;
adjust_fit(if monospace:.25u#,.5u# else: 0,0 fi); pickup fine.nib;
x0=0; x2=x3; pos3(stem,0); lft x3l=hround(2.5u-.5stem); y3-.5stem=-oo;
if classic_serif:
pos2(stem,0);
y2=1/4x_height; % dito
x8=x2; pos8(stem,0); top y8=h;
sloped_serif.l(8,3,c,1/3,jut,serif_drop);
filldraw circ_stroke z8e--z3e; % left stem
else:
hook_in(0,1,2); % opening hook
filldraw circ_stroke z3e--z2e; % left stem
fi
pos3'(hair,180); z3'=z3; pos4(vair,90); pos5(hair,0); pos6(flare,0);
x4=w-.5u-max(1.75u,flare); rt x5r=hround(r-.5u); top y4r=x_height+oo;
filldraw stroke z3'e{up}...z4e{right}; % link
y6+.5flare=vround(bot y4l-.03x_height); bulb(4,5,6); % bulb
%the accent
lowercase_acute(1/3(x1r-.5w),0,7,8);
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-.5u#);
penlabels(0,1,2,3,4,5,6,7,8); endchar;
dcchar "Italic letter hachek (check) r";
beginchar(oct"260",5.5u#+max(1.75u#,flare#),x_height#+acc_height#,0);
italcorr x_height#*slant;
adjust_fit(if monospace:.25u#,.5u# else: 0,0 fi); pickup fine.nib;
x0=0; x2=x3; pos3(stem,0); lft x3l=hround(2.5u-.5stem); y3-.5stem=-oo;
if classic_serif:
pos2(stem,0);
y2=1/4x_height; % dito
x8=x2; pos8(stem,0); top y8=h;
sloped_serif.l(8,3,c,1/3,jut,serif_drop);
filldraw circ_stroke z8e--z3e; % left stem
else:
hook_in(0,1,2); % opening hook
filldraw circ_stroke z3e--z2e; % left stem
fi
pos3'(hair,180); z3'=z3; pos4(vair,90); pos5(hair,0); pos6(flare,0);
x4=w-.5u-max(1.75u,flare); rt x5r=hround(r-.5u); top y4r=x_height+oo;
filldraw stroke z3'e{up}...z4e{right}; % link
y6+.5flare=vround(bot y4l-.03x_height); bulb(4,5,6); % bulb
%the accent
lowercase_hachek(x2r,0,7,8,9,10,11);
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-.5u#);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
dcchar "Italic letter acute s";
beginchar(oct"261",5.25u#+max(1.75u#,flare#),x_height#+acc_height#,0);
italcorr (acc_height#+x_height#)*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
numeric theta; theta=90-angle(40u,x_height); slope:=-h/40u; % angle at middle
pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90);
x2l=x0=x7=.5w; top y2l=x_height+oo; bot y7r=-oo;
y0-.5ess=y7l+.55(y2r-y7l-ess);
lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps;
x3r-x3l=x6r-x6l=hround .5[vair,ess]-fine;
ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
interim superness:=more_super;
filldraw stroke super_arc.e(2,3) & z3e{down}
..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
pos1(hair,0); pos10(hround .75[hair,flare],0);
pos2'(vair,90); z2'=z2;
pos8(hair,-180); pos9(flare,-180);
rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps;
y10=.78x_height; y9=.25x_height;
bulb(2',1,10); bulb(7,8,9); % bulbs
% the accent
lowercase_acute(0,0,11,12);
math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12); endchar;
dcchar "Italic letter hachek s";
beginchar(oct"262",5.25u#+max(1.75u#,flare#),x_height#+acc_height#,0);
italcorr (acc_height#+x_height#)*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
numeric theta; theta=90-angle(40u,x_height); slope:=-h/40u; % angle at middle
pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90);
x2l=x0=x7=.5w; top y2l=x_height+oo; bot y7r=-oo;
y0-.5ess=y7l+.55(y2r-y7l-ess);
lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps;
x3r-x3l=x6r-x6l=hround .5[vair,ess]-fine;
ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
interim superness:=more_super;
filldraw stroke super_arc.e(2,3) & z3e{down}
..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
pos1(hair,0); pos10(hround .75[hair,flare],0);
pos2'(vair,90); z2'=z2;
pos8(hair,-180); pos9(flare,-180);
rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps;
y10=.78x_height; y9=.25x_height;
bulb(2',1,10); bulb(7,8,9); % bulbs
% the accent
lowercase_hachek(.5w,0,11,12,13,14,15);
math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
dcchar "Italic letter cedilla s";
beginchar(oct"263",5.25u#+max(1.75u#,flare#),x_height#,0.875desc_depth#);
italcorr x_height#*slant-.5u#;
adjust_fit(0,0); pickup fine.nib;
numeric theta; theta=90-angle(40u,x_height); slope:=-h/40u; % angle at middle
pos2(vair,-90); pos0(max(fine.breadth,ess),theta); pos7(vair,-90);
x2l=x0=x7=.5w; top y2l=x_height+oo; bot y7r=-oo;
y0-.5ess=y7l+.55(y2r-y7l-ess);
lft x3l=hround u-eps; rt x6r=hround(w-.5u)+eps;
x3r-x3l=x6r-x6l=hround .5[vair,ess]-fine;
ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
interim superness:=more_super;
filldraw stroke super_arc.e(2,3) & z3e{down}
..z4e---z5e..z6e{down} & super_arc.e(6,7); % main stroke
pos1(hair,0); pos10(hround .75[hair,flare],0);
pos2'(vair,90); z2'=z2;
pos8(hair,-180); pos9(flare,-180);
rt x10r=hround(w-u)+2eps; lft x9r=hround .5u-2eps; y10=.78h; y9=.25x_height;
bulb(2',1,10); bulb(7,8,9); % bulbs
% the accent
lowercase_cedilla(x7,0,11,12,13,14,15);
math_fit(0,ic#); penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15); endchar;
dcchar "Italic letter t with comma";
beginchar(oct"264",5.5u#,min(asc_height#,10/7x_height#),0);
italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#);
adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib;
pos1(stem,0); lft x1l=hround(2u-.5stem); y1+.5stem=h+oo;
x2=x1; x4=w; hook_out(2,3,4); % closing hook
if classic_serif:
filldraw stroke z1e--z2e; % stem
else:
filldraw circ_stroke z1e--z2e; % stem
fi
pickup crisp.nib; pos5(bar,90); pos6(bar,90);
lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height;
filldraw stroke z5e--z6e; % crossbar
%
% the accent
komma_one := 7;
x[komma_one]=hround(w+0.5dot_size-2u);
if asc_height>2x_height:
y[komma_one]=y6r+dot_size+0.4comma_depth+min(bar,.5dot_size);
else:
y[komma_one]r=asc_height;
fi
comma([komma_one],ee,dot_size,.25u,0.4comma_depth); % comma with increased jut
math_fit(1.25u#-x_height#*slant,ic#); penlabels(1,2,3,4,5,6,7); endchar;
dcchar "Italic letter cedilla t";
beginchar(oct"265",5.5u#,min(asc_height#,10/7x_height#),0.875desc_depth#);
italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.25u#);
adjust_fit(if monospace:u#,u# else:0,0 fi); pickup fine.nib;
pos1(stem,0); lft x1l=hround(2u-.5stem); y1+.5stem=h+oo;
x2=x1; x4=w; hook_out(2,3,4); % closing hook
if classic_serif:
filldraw stroke z1e--z2e; % stem
else:
filldraw circ_stroke z1e--z2e; % stem
fi
pickup crisp.nib; pos5(bar,90); pos6(bar,90);
lft x5=hround-.75u; rt x6=hround(w-.75u); top y5r=top y6r=x_height;
filldraw stroke z5e--z6e; % crossbar
%
% the accent
lowercase_cedilla(x3,0,7,8,9,10,11);
math_fit(1.25u#-x_height#*slant,ic#);
penlabels(1,2,3,4,5,6,7,8,9,10,11); endchar;
dcchar "Italic long Hungarian umlaut u";
beginchar(oct"266",9.5u#,x_height#+acc_height#,0);
italcorr (acc_height#+x_height#)*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
if classic_serif:
x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
pos2(stem,0);
top y2=x_height;
else:
x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
hook_in(0,1,2)(skewed); % opening hook
fi
pos2'(stem,-180); z2'=z2;
pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
y3=.7[y4,y5]; bot y4r=-oo; y5=.57h; y6+.5stem=x_height;
if classic_serif:
filldraw stroke z2
...super_arc.e(3,4)...{up}z5e; % left stem and arc
else:
filldraw stroke z2'e{-u,-x_height}
...super_arc.e(3,4)...{up}z5e; % left stem and arc
fi
filldraw circ_stroke z6e--z7e; % right stem
if classic_serif: sloped_serif.l(2,3,a,1/3,jut,serif_drop); fi
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
% the accent
lowercase_humlaut(10,11,12,13);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
dcchar "Italic circle u";
beginchar(oct"267",9.5u#,x_height#+acc_height#,0);
italcorr 1/3x_height#*slant+.5hair#+.5u#;
adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
if classic_serif:
x0=0; x2=x3; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
pos2(stem,0);
top y2=x_height;
else:
x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
hook_in(0,1,2)(skewed); % opening hook
fi
pos2'(stem,-180); z2'=z2;
pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
pos6(stem,0); rt x6r=hround(w-2.5u+.5stem);
x5=x6=x7; x9=w; hook_out(7,8,9); % closing hook
y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; y6+.5stem=x_height;
if classic_serif:
filldraw stroke z2
...super_arc.e(3,4)...{up}z5e; % left stem and arc
else:
filldraw stroke z2'e{-u,-x_height}
...super_arc.e(3,4)...{up}z5e; % left stem and arc
fi
filldraw circ_stroke z6e--z7e; % right stem
if classic_serif: sloped_serif.l(2,3,a,1/3,jut,serif_drop); fi
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
% the accent
lowercase_circle(.5w,(1/3[x_height,h]+apex_o),10,11,12,13);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
dcchar "Italic letter umlaut y";
beginchar(oct"270",8.5u#,x_height#+acc_height#,desc_depth#);
italcorr x_height#*slant+.5stem#-u#;
adjust_fit(0,0); pickup fine.nib; interim superness:=more_super;
x0=0; x2=x3+.25u; pos3(stem,-180); lft x3r=hround(2.5u-.5stem);
if classic_serif:
pos2(stem,0);
top y2=x_height;
else:
hook_in(0,1,2)(skewed); % opening hook
fi
pos2'(stem,-180); z2'=z2;
pos4(vair,-90); pos5(hair,0); x4=.5[x3,x5];
pos6(stem,0); rt x6r=hround(w-1.5u+.5stem);
pos7(stem,0); pos8(vair,-90);
y3=.7[y4,y5]; bot y4r=-oo; y5=.57x_height; y6+.5stem=x_height;
y7=0; bot y8r=-d-oo; x5=x6=x7; x8=.5w;
pos9(hair,-180); pos10(flare,-180); y9=-.5d;
lft x9r=hround(2.75u-.5flare); bulb(8,9,10); % bulb
filldraw stroke z2'e{-u,-x_height}
...super_arc.e(3,4)...{up}z5e; % left stem and arc
filldraw circ_stroke z6e---z7e...{left}z8e; % right stem and link
if classic_serif: sloped_serif.l(2,3,a,1/3,jut,serif_drop); fi
%the accent
lowercase_umlaut(0,0,11,12,13,14);
math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#-1/3x_height#*slant);
penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14); endchar;
dcchar "Italic letter acute z";
beginchar(oct"271",5.5u#+max(1.5u#,stem#),x_height#+acc_height#,0);
italcorr x_height#*slant+.5hair#;
adjust_fit(if monospace:.5u#,.5u# else: 0,0 fi); pickup fine.nib;
pos1(hair,0); pos2(stem,-90); pos3(vair,-90); pos4(hair,0);
lft x1l=hround(u-.5hair); x2=2.5u; x3=w-2u; rt x4r=hround(w-.5u);
top y1=.78x_height; top y2l=top y4=x_height+oo; y3=.825x_height;
pos5(hair,0); pos6(vair,-90); pos7(stem,-90); pos8(hair,0);
x5=x1; x6=2.5u; x7=w-2u; x8+.5hair=hround(w+.5hair-eps);
bot y5=bot y7r=-oo; y6=.175x_height; bot y8=.31x_height;
pair p; p=(z4-z5) yscaled 2;
filldraw stroke z1e{up}...z2e{right}..z3e{right}...{p}z4e; % upper bar
filldraw stroke z5e{p}...z6e{right}..{right}z7e...{up}z8e; % lower bar
filldraw stroke z5e{p}..{p}z4e; % diagonal
math_fit(0,1/3x_height#*slant+.5hair#+.5u#);
%the accent
lowercase_acute(0,0,9,10);
penlabels(1,2,3,4,5,6,7,8,9,10); endchar;
dcchar "Italic letter hacheck (check) z";
beginchar(oct"272",5.5u#+max(1.5u#,stem#),x_height#+acc_height#,0);
italcorr x_height#*slant+.5hair#;
adjust_fit(if monospace:.5u#,.5u# else: 0,0 fi); pickup fine.nib;
pos1(hair,0); pos2(stem,-90); pos3(vair,-90); pos4(hair,0);
lft x1l=hround(u-.5hair); x2=2.5u; x3=w-2u; rt x4r=hround(w-.5u);
top y1=.78x_height; top y2l=top y4=x_height+oo; y3=.825x_height;
pos5(hair,0); pos6(vair,-90); pos7(stem,-90); pos8(hair,0);
x5=x1; x6=2.5u; x7=w-2u; x8+.5hair=hround(w+.5hair-eps);
bot y5=bot y7r=-oo; y6=.175x_height; bot y8=.31x_height;
pair p; p=(z4-z5) yscaled 2;
filldraw stroke z1e{up}...z2e{right}..z3e{right}...{p}z4e; % upper bar
filldraw stroke z5e{p}...z6e{right}..{right}z7e...{up}z8e; % lower bar
filldraw stroke z5e{p}..{p}z4e; % diagonal
math_fit(0,1/3x_height#*slant+.5hair#+.5u#);
%the accent
lowercase_hachek(.5w,0,9,10,11,12,13);
penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); endchar;
dcchar "Italic letter dot z";
beginchar(oct"273",5.5u#+max(1.5u#,stem#),x_height#+acc_height#,0);
italcorr x_height#*slant+.5hair#;
adjust_fit(if monospace:.5u#,.5u# else: 0,0 fi); pickup fine.nib;
pos1(hair,0); pos2(stem,-90); pos3(vair,-90); pos4(hair,0);
lft x1l=hround(u-.5hair); x2=2.5u; x3=w-2u; rt x4r=hround(w-.5u);
top y1=.78x_height; top y2l=top y4=x_height+oo; y3=.825x_height;
pos5(hair,0); pos6(vair,-90); pos7(stem,-90); pos8(hair,0);
x5=x1; x6=2.5u; x7=w-2u; x8+.5hair=hround(w+.5hair-eps);
bot y5=bot y7r=-oo; y6=.175x_height; bot y8=.31x_height;
pair p; p=(z4-z5) yscaled 2;
filldraw stroke z1e{up}...z2e{right}..z3e{right}...{p}z4e; % upper bar
filldraw stroke z5e{p}...z6e{right}..{right}z7e...{up}z8e; % lower bar
filldraw stroke z5e{p}..{p}z4e; % diagonal
math_fit(0,1/3x_height#*slant+.5hair#+.5u#);
% the accent
dot_one := 9;
dot_two := 10;
numeric dot_diam#; dot_diam#=max(dot_size#,cap_curve#);
define_whole_blacker_pixels(dot_diam);
pickup tiny.nib;
pos[dot_one](dot_diam,0);
pos[dot_two](dot_diam,90);
x[dot_one]=x[dot_two]=.5w;
top y[dot_two]r=min(asc_height,10/7x_height+.5dot_diam);
if bot y[dot_two]l<x_height+o+slab:
y[dot_two]l:=min(y[dot_two]r-eps,acc_height+x_height+o+slab+.5tiny); fi
y[dot_one]=.5[y[dot_two]l,y[dot_two]r];
dot([dot_one],[dot_two]); % dot
penlabels(1,2,3,4,5,6,7,8,9,10); endchar;
dcchar "Italic letter ij";
beginchar(oct"274",10u#,min(asc_height#,10/7x_height#+.5flare#),desc_depth#);
italcorr max(1/3x_height#*slant+.5hair#+.5u#,h#*slant+.5flare#-2u#);
adjust_fit(0,0); pickup fine.nib;
x0=0; x5=5u; x2=2.5u+.25u; x3=2.5u-.25u;
if classic_serif:
hook_out(3,4,5)(skewed); % hooks
top y2=x_height;
pos2(stem,0);
sloped_serif.l(2,3,a,1/3,jut,serif_drop);
else:
hook_in(0,1,2)(skewed);
hook_out(3,4,5)(skewed); % hooks
fi
filldraw stroke z2e--z3e; % stem
pos8(flare,0); pos9(flare,90);
x8=2.5u if not monospace:-.4(h-x_height)*slant fi; top y9r=h+1;
if classic_serif: else:
if bot y9l-top y1<slab: y9l:=min(y9r-eps,y1+fine+slab); fi
fi
x8=x9; y8=.5[y9l,y9r]; dot(8,9); % dot
%math_fit(-2/3x_height#*slant+.5hair#+.5u#,ic#);
%penlabels(0,1,2,3,4,5,8,9); endchar;
%
%dcchar "Italic letter j";
%beginchar("j",5u#,min(asc_height#,10/7x_height#+.5flare#),desc_depth#);
%italcorr h#*slant+.5stem#-u#;
%adjust_fit(if monospace:2u#,.5u# else: 0,0 fi);
pickup fine.nib;
x10=5u; x12=x13; pos13(stem,0); lft x13l=hround(w-1.5u-.5stem);
if classic_serif:
pos14(vair,-90); pos15(hair,-180); pos16(flare,-180);
bot y13=-1/3d; bot y14r=-d-oo; y16-.5flare=-vround.9d;
top y12=x_height;
pos12(stem,0);
sloped_serif.l(12,13,b,1/3,jut,serif_drop);
else:
hook_in(10,11,12); % opening hook
pos14(vair,-90); pos15(hair,-180); pos16(flare,-180);
bot y13=-1/3d; bot y14r=-d-oo; y16-.5flare=-vround.9d;
fi
x14=5u+1/3(w-6u); lft x15r=min(hround 4.5u,lft x15r+x14-x15l-eps);
filldraw stroke z12e---z13e...{left}z14e; % stem and arc
bulb(14,15,16); % bulb
pos18(flare,0); pos19(flare,90);
rt x18r=rt x12r if not monospace:-.6(h-x_height)*slant fi; top y19r=h+1;
if classic_serif: else:
if bot y19l-top y11<slab: y19l:=min(y19r-eps,y11+fine+slab); fi
fi
x18=x19; y18=.5[y19l,y19r]; dot(18,19); % dot
math_fit(desc_depth#*slant,x_height#*slant+.5stem#-u#);
penlabels(0,1,2,3,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19); endchar;
endinput;